package com.dong.dynamicProgramming;

/**
 * @author dcz
 * @classname MaxProfit
 * @description 买股票的最佳时机（一次购买一次出售的最大利润）
 * @date 2022/4/28 8:51
 */
public class MaxProfit {
    public static void main(String[] args) {
        int[] prices = {7,6,4,3,8};
        maxProfit(prices);
    }

    public static int maxProfit(int[] prices) {
        // 找到一个最小的购入点
        int low = Integer.MAX_VALUE;
        // res不断更新，直到数组循环完毕
        int res = 0;
        for(int i = 0; i < prices.length; i++){
            // 取最左最小价格
            low = Math.min(prices[i], low);
            // 直接取最大区间利润
            res = Math.max(prices[i] - low, res);
        }
        return res;
    }
}
